// default package
// Generated 28 Jul, 2014 8:04:07 PM by Hibernate Tools 3.4.0.CR1
package com.galaxy.bean;

import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;

/**
 * EavAttributeSet generated by hbm2java
 */
@Entity
@Table(name = "eav_attribute_set", catalog = "magento", uniqueConstraints = @UniqueConstraint(columnNames = {
		"entity_type_id", "attribute_set_name" }))
public class EavAttributeSet implements java.io.Serializable {

	private Short attributeSetId;
	private EavEntityType eavEntityType;
	private String attributeSetName;
	private short sortOrder;
	private Set catalogProductEntities = new HashSet(0);
	private Set eavAttributeGroups = new HashSet(0);

	public EavAttributeSet() {
	}

	public EavAttributeSet(EavEntityType eavEntityType,
			String attributeSetName, short sortOrder) {
		this.eavEntityType = eavEntityType;
		this.attributeSetName = attributeSetName;
		this.sortOrder = sortOrder;
	}

	public EavAttributeSet(EavEntityType eavEntityType,
			String attributeSetName, short sortOrder,
			Set catalogProductEntities, Set eavAttributeGroups) {
		this.eavEntityType = eavEntityType;
		this.attributeSetName = attributeSetName;
		this.sortOrder = sortOrder;
		this.catalogProductEntities = catalogProductEntities;
		this.eavAttributeGroups = eavAttributeGroups;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "attribute_set_id", unique = true, nullable = false)
	public Short getAttributeSetId() {
		return this.attributeSetId;
	}

	public void setAttributeSetId(Short attributeSetId) {
		this.attributeSetId = attributeSetId;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "entity_type_id", nullable = false)
	public EavEntityType getEavEntityType() {
		return this.eavEntityType;
	}

	public void setEavEntityType(EavEntityType eavEntityType) {
		this.eavEntityType = eavEntityType;
	}

	@Column(name = "attribute_set_name", nullable = false)
	public String getAttributeSetName() {
		return this.attributeSetName;
	}

	public void setAttributeSetName(String attributeSetName) {
		this.attributeSetName = attributeSetName;
	}

	@Column(name = "sort_order", nullable = false)
	public short getSortOrder() {
		return this.sortOrder;
	}

	public void setSortOrder(short sortOrder) {
		this.sortOrder = sortOrder;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavAttributeSet")
	public Set getCatalogProductEntities() {
		return this.catalogProductEntities;
	}

	public void setCatalogProductEntities(Set catalogProductEntities) {
		this.catalogProductEntities = catalogProductEntities;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavAttributeSet")
	public Set getEavAttributeGroups() {
		return this.eavAttributeGroups;
	}

	public void setEavAttributeGroups(Set eavAttributeGroups) {
		this.eavAttributeGroups = eavAttributeGroups;
	}

}
